let path = require('path')
let HtmlWebpackPlugin = require('html-webpack-plugin') // 生成html
module.exports = {
  devServer: { // 开发服务器的配置
    port: 8000, // 端口号
    progress: true, // 进度条
    contentBase: './build', // 这个文件夹作为静态目录
    // proxy: { // 代理
      // '/api': 'http://localhost:3000' // 配置代理  那如果后端接口没有加api开头的话 那自己就要去掉api重写
    //   '/api': {
    //     target: 'http://localhost:3000',
    //     pathRewrite: {'/api': ''}
    //   }
    // }

    // 2. 我们前端只想单纯模拟数据
    // before(app){ // 钩子
    //   app.get('/user', (req, res)=>{
    //     res.json({name: '珠峰架构'})
    //   })
    // }

    // 3. 有服务端 不想用代理来处理 能不能在服务端启动webpack 端口用服务端端口
    // let express = require('express')
    // let app = express()
    // let webpack = require('webpack')

    // // 中间件
    // let middle = require('webpack-dev-middleware')

    // let config = require('./webpack.config.js')

    // let compiler = webpack(config)

    // app.use(middle(compiler))
    // // 相当于 连带的 启动了webapck

    // app.get('/user', (req, res)=>{
    //   res.json({name: '珠峰架构'})
    // })

    // app.listen(3000)

  },
  mode: 'development', // 模式 默认两种 production development
  entry: './src/index2.js', // 入口
  output: {
    filename: 'bundle.[hash:8].js', // 打包后的文件名
    path: path.resolve(__dirname, 'build'), // 路径必须是一个绝对路径
  },
  plugins: [ // 插件
    new HtmlWebpackPlugin({
      template: './src/index.html', // 指定模板
      filename: 'index.html', // 打包后文件
      minify: {
        removeAttributeQuotes: true, // 删除双引号
        collapseWhitespace: true, // 折叠成一行
      },
      hash: true // 生成hash戳
    })
  ]
}